
<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>

<script type="text/javascript">
	
var Book = (function () {
	//静态私有变量
	var bookNum = 0;
	//静态私有方法
	function checkBook(name) {
		console.error('checkBook');
	}
	//返回构造函数
	return function(newId, newName, newPrice) {
		//私有变量
		var name;
		var price;
		//私有方法
		function checkId(id) {
			console.error('checkId');
		};
		//特权方法
		 this.getName = function() {
		 	console.error('getName');
		 };
		 this.getPrice = function() {
		 	console.error('getPrice');
		 };
		 this.setName = function() {
		 	console.error('setName');
		 };
		 this.setPrice = function() {
		 	console.error('setPrice');
		 };
		 //公有属性
		 this.id = newId;
		 //公有方法
		 this.copy = function() {
		 	console.error('copy fun');
		 };
		 bookNum++;
		 if (bookNum > 2) {
		 	throw new Error('我们仅出版100本书');
		 }

		 //构造器
		 this.setName(name+'qwe');
		 this.setPrice(price);
	}
})();

Book.prototype = {
	//静态公有属性
	isJSBook : false,
	//静态公有方法
	display  : function() {
		console.error('display fun');
	}
};

var a = new Book(1, 'book1', 11);
var b = new Book(2, 'book2', 22);
var b = new Book(3, 'book3', 33);

</script>

</body>
</html>